#从flask包中导入flask对象
from flask import Flask,jsonify,url_for,request,redirect
import config
#使用flask 创建一个app对象，并且传递__name__参数
app = Flask(__name__)
#以后所有的配置项放到config中
app.config.from_object(config)

books = [
    {"id":1,"name":"三国演义"},
    {"id":2,"name":"水浒传"},
    {"id":3,"name":"红楼梦"},
    {"id":4,"name":"西游记"},
]

#book/book_id
#int 和 string  数据类型
#methods 限制访问方式 从服务器上获取数据采用get请求，如果前端需要把数据发送给服务器用post
#在@app.route上，添加methods参数，这个参数是一个列表类型，可以传递多个
@app.route('/book/<string:book_id>',methods=['GET','POST'])
def book_detail(book_id):
    for book in books:
        if book_id == str(book['id']):
            return book
        print(book_id)
    return f"id{book_id}的图书还没找到"

#book /list
@app.route('/book/list')
def book_list():
    for book in books:
        book['url'] = url_for("book_detail",book_id=book['id'])
    return jsonify(books)

#获取个人信息
@app.route("/profile")
def profile():
    #参数传递的形式：
    #1.作为url的组成部分
    #2。查询字符串：/book?id=1
    user_id = request.args.get("id")
    if user_id:
        return "用户中心"
    else:
        return redirect(url_for("index"))


#@app.route :设置 访问的url，这里是设置成一个根路径
@app.route('/')
def index():
    #return {"username":"mads"}
    #JSON_AS_ASCII'] = True中文不能输出，输出为unicode字符串
    return {"username": "李洋"}



if __name__ == '__main__':
    app.run()
